1. Field
The embodiments described below relate generally to the management of data. More specifically, some embodiments concern the updating of a data structure based on updates to one or more other data structures.
2. Discussion
Modern industrial systems often rely to some extent on computer-based automation and monitoring. Examples of such systems include industrial automation systems, supervisory control and data acquisition (SCADA) systems, general data acquisition systems, and plant data historians. These systems may acquire, analyze and respond to data arising from the operation of a manufacturing plant.
The data may arise from independent sources, with each source configured to provide substantially “raw” or “native” information at pre-defined intervals and/or in near real-time. The information may consist of numerical values produced by gauges and/or monitors (e.g., speed, temperature, or pressure). Data of this type is often referred to as “point” data. On the other hand, “non-point” data includes information related to the point data, including but not limited to a description, limits, ranges, etc.
The point data and non-point data may be received from the independent sources and collected into data structures. These data structures, which may include tables, may provide access to the data collected therein that is more efficient than direct access of the sources. The data structures are preferably updated in response to changes to the collected data. The frequency of updating may be based on requirements of an application that accesses the collected data, the performance costs of updating the data structures, and other factors.
A child data structure may be associated with two or more of the data structures mentioned above. The child data structure collects data that is stored in each of the two or more “parent” data structures. Accessing the data collected in the child data structure may be more efficient than accessing the two or more parent data structures or directly accessing the sources of the data.
Conventionally, a child data structure is updated in response to the updating of any parent data structure that is associated with the child data structure. In some instances, an amount of time required to update the child data structure is greater than a poll cycle (i.e., an amount of time between updates) of one of the two or more parent data structures. Such a child data structure may therefore reside in a state of constant updating. Conventional systems for updating child data structures may also or alternatively present other inefficiencies.